<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>$函数</title>
    <script src="jquery-3.3.1.min.js"></script>
</head>
<body>

</body>
<script>
    // 1.$是什么
    // 如果报了$ is not defined 说明没有引入jquery文件
    $(function () {

    });

    // 2.jquery文件的结构
    // 其实是一个自执行函数
    (function () {
        window.jQuery = window.$ = jQuery;
    }());

    // 3.引入一个js文件 是会执行js文件中的代码的
    // 所以引入jquery 就是执行这个自执行函数
    // 这个自执行文件就是给window对象添加一个jquery属性和$属性
    console.log(window.jQuery === $);
    console.log(Object.prototype.toString.call($));  // $为一个函数
    console.log(window);

    // 4.$是一个函数
    // 参数传递不同 效果也不一样
    // 4.1 如果参数传递的是一个匿名函数-入口函数
    // 4.2 如果参数传递的是一个字符串-选择器/创建一个html标签
    // 4.3 如果参数传递的是一个dom对象 那么他会把这个dom转为jquery对象
    $('#one')
</script>
</html>